/******************************************************************************/
/*  Class AIN                                                                 */
/*  PO: S. Maslyakov, rusoil.9@gmail.com                                      */
/*                                                                            */
/*  Revision:     1.2                                                         */
/*  Date:         2010/12/25 17:29:33                                         */
/******************************************************************************/


#ifndef __AIN_H
#define __AIN_H


#include "data_types.h"
#include "Ain\ain_def.h"


//==============================================================================
//  Class AIN
//==============================================================================
class AIN
{
public:
  static void Init_Ain();
  static void Init_ain_task();
  static void Activate_ain_task();
  static uint16_t GetFiltrAin(const uint32_t _ainx);
  static float32_t GetKoeffAin(const uint32_t _ainx);

private:
  static void Task_ain_poll(void * par);
  static void RestoreSettings();
  static uint32_t Convers(const uint8_t _mask);
  static uint16_t GetAin1();
  static uint16_t GetAin2();
  static uint16_t GetAin3();
  static uint16_t GetAin(const uint32_t _ainx);

  static __TOOLS_AIN m_tools[eAIN_END];
  static __DATA_AIN m_data;
};
//==============================================================================
//==============================================================================


#endif